From 1b4c0be707c524a28f020c584f541c667e6dc78f Mon Sep 17 00:00:00 2001 From: Roger Pau Monne Date: Tue, 24 Dec 2019 11:18:10 +0100 Subject: [PATCH] x86/hvm: always expose x2APIC feature in max HVM cpuid policy MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit On hardware without x2APIC support Xen emulated local APIC will provide such mode, and hence the feature should be set in the maximum HVM cpuid policy. Not exposing it in the maximum policy results in HVM domains not getting such feature exposed unless it's also supported by the underlying hardware. This was regressed by c/s 3e0c8272f20 which caused x2APIC not to be enabled unilaterally for HVM guests. Signed-off-by: Roger Pau Monné Reviewed-by: Andrew Cooper --- xen/arch/x86/cpuid.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/xen/arch/x86/cpuid.c b/xen/arch/x86/cpuid.c index 7055509ed6..b1ed33d524 100644 --- a/xen/arch/x86/cpuid.c +++ b/xen/arch/x86/cpuid.c @@ -396,10 +396,11 @@ static void __init calculate_hvm_max_policy(void) hvm_featureset[i] &= hvm_featuremask[i]; /* - * Xen can provide an APIC emulation to HVM guests even if the host's APIC - * isn't enabled. + * Xen can provide an (x2)APIC emulation to HVM guests even if the host's + * (x2)APIC isn't enabled. */ __set_bit(X86_FEATURE_APIC, hvm_featureset); + __set_bit(X86_FEATURE_X2APIC, hvm_featureset); /* * On AMD, PV guests are entirely unable to use SYSENTER as Xen runs in -- 2.30.2